The subject matter disclosed in this specification relates to a Middleware apparatus, and associated method and program storage device, adapted for interfacing between data sources and software applications and linking the data sources to the software applications, and, as a result, the software applications can each use a single user interface to obtain data from any one or more of the data sources without being concerned about the data formats and the communication protocols associated with the received data.
A software application, such as a drilling application, needs data when executing in a processor of a computer system. The software application may be able to easily obtain a first set of data from a first data source among a multitude of data sources and a ‘first user interface’ enables a user of the software application to obtain the first set of data from the first data source. However, the software application may need to be modified in order to obtain a second set of data from a second data source because the software application is not presently adapted to receive a data format and/or a communication protocol associated with the second set of data originating from the second data source. When the software application is modified to receive the data format and/or the communication protocol associated with the second set of data from the second data source, a ‘second user interface’ enables the user of the software application to obtain the second set of data from the second data source. However, the ‘second user interface’ is different from the ‘first user interface’ and, as a result, the user must learn to use the ‘second user interface’ in addition to the ‘first user interface’ in order to obtain the second set of data from the second data source.
Consequently, a middleware apparatus (and associated method and program storage device) is needed which interfaces between a multitude of data sources and one or more software applications, links the multitude of data sources to the software applications, and enables a user of a particular software application to use a ‘single user interface’ to obtain a multitude of data from the multitude of data sources, without modifying the particular software application in order to receive the multitude of data from the multitude of data sources, because the middleware apparatus (interposed between the multitude of data sources and the software applications) is adapted to convert the data formats and the communication protocols, associated with the multitude of data originating from the multitude of data sources, to a particular data format and a particular communication protocol which is acceptable to the particular software application before transmitting the multitude of data to the particular software application.